package test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class CatStdinToFile {

	public static boolean catStdinToFile(String fileName) {
		File file = new File(fileName);
		// 将数据按照文本输出到文件
		PrintWriter writer = null;
		BufferedReader in = null;
		try {
			// 为输出文件建立一个写入器
			writer = new PrintWriter(new FileWriter(file));
			System.out.println("请输入文件内容，输入quit结束");
			// 用BufferedReader包装标准输入流
			in = new BufferedReader(new InputStreamReader(System.in));
			String inputLine = null;
			while (((inputLine = in.readLine()) != null)
					&& (!inputLine.equals("quit"))) {
				writer.println(inputLine);
			}
			// 如果采用new PrintWriter(new FileWriter(file), true)则会自动flush。
			writer.flush();
			writer.close();
			return true;
		} catch (IOException e) {
			System.out.println(e.getMessage());
			return false;
		} finally {
			if (in != null) {
				try {
					in.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}

	public static void main(String[] args) {
		String writeFileName = "C:/temp/temp.java";
		CatStdinToFile.catStdinToFile(writeFileName);
		System.out.println();
		System.out.println("输出文件的内容：");
		// ReadFromFile.readFileByLines(fileName);
	}

}
